<!--
Google IO 2012 HTML5 Slide Template

Authors: Eric Bidelman <ebidel@gmail.com>
         Luke Mahe <lukem@google.com>

URL: https://code.google.com/p/io-2012-slides
-->
<!DOCTYPE html5>
<html>
<head>
  <title>Google IO 2012</title>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="chrome=1">
  <!--<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0">-->
  <!--<meta name="viewport" content="width=device-width, initial-scale=1.0">-->
  <!--This one seems to work all the time, but really small on ipad-->
  <!--<meta name="viewport" content="initial-scale=0.4">-->
  <meta name="apple-mobile-web-app-capable" content="yes">
  <link rel="stylesheet" media="all" href="theme/css/default.css">
  <link rel="stylesheet" media="all" href="theme/css/app.css">
  <link rel="stylesheet" media="only screen and (max-device-width: 480px)" href="theme/css/phone.css">
  <base target="_blank"> <!-- This amazingness opens all links in a new tab. -->
  <script type="text/javascript"
      src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
  </script>
  <script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    TeX: {
      extensions: ["AMSmath.js", "AMSsymbols.js"],
      equationNumbers: { autoNumber: "AMS" }
    }
  });
  </script>
  <script data-main="js/slides" src="js/require-1.0.8.min.js"></script>
</head>
<body style="opacity: 0">

<slides class="layout-widescreen" >

<slide class="title-slide segue nobackground" >
  <!--aside class="gdbar"><img
  src="images/google_developers_icon_128.png"></aside-->
  <!-- The content of this hgroup is replaced programmatically through the slide_config.json. -->
  <hgroup class="auto-fadein">
    <h1 data-config-title><!-- populated from slide_config.json --></h1>
    <h2 data-config-subtitle><!-- populated from slide_config.json --></h2>
    <p > Paper by Jason Baker et al. </p>

    <p data-config-presenter><!-- populated from slide_config.json --></p>
  </hgroup>
</slide>

{% for slide in slides %}
<slide 
 {% if slide.remainingstates %} remainingstates="{{- slide.remainingstates -}}" {% endif %} 
{% if slide.class %} class="{{- slide.class -}}"{% endif %} 
{% if slide.image %} style="background-image: url({{- slide.image -}})"{% endif %}>
  {% if 'segue' in slide.class %}
    <hgroup class="auto-fadein">
      <h2>{{- slide.title -}}</h2>
      <h3>{{- slide.subtitle -}}</h3>
    </hgroup>
  {% else %}
    <hgroup>
      <h2>{{- slide.title -}}</h2>
      <h3>{{- slide.subtitle -}}</h3>
    </hgroup>
    <article {% if slide.content_class %}class="{{- slide.content_class -}}"{% endif %}>
    {{- slide.content -}}
    </article>
 {% endif %}
<footer class="presenter" > CSE740. Megastore</footer>
</slide>
{% endfor %}

<slide class="thank-you-slide segue nobackground">
<header>
<h2>Questions?</h2>
</header>
  <article class="flexbox vleft auto-fadein">
  <h2>Thank You for listening !</h2>
  </article>
</slide>

<slide class="backdrop"></slide>

</slides>

<script>
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXXXXX-1']);
_gaq.push(['_trackPageview']);

(function() {
  var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
  ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
  var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
<script type="text/javascript" >
  /* This piece of allows us to name elements that build the slide in a
   * preferred order. 
   * To use it, first of all we need a slide attribute called
   'remainingstates'. Suppose you want the slide to build up in 3 steps, then
   you have 3 remainingstates when you enter the slides.

   * Now all we need is to mark the elements that build in the respective
   states in decreasing order. The elements building first are marked as 
   class="state3" followed by "state2" and "state1". The parent element of
   these need to be marked class="build". Some magical javascript
   (slide-deck.js) takes care of adding class="tobuild" to each child of
   "build" element. All elements under "build" parent have opacity at first
   and build in the order state3 --> state2 --> state1
   */
  var nextState = function(e) {
      var slide = e.detail.curSlide;
      var remaining_states = e.detail.curState;
      var thisState = ".state" + remaining_states;
      var toBuild = slide.querySelectorAll('.to-build' + thisState);
      for (var i = 0; i < toBuild.length; ++i) {
        var toB = toBuild[i];
      	toB.classList.remove('to-build');
      	toB.classList.remove(thisState);
      	toB.classList.add('build-current');
      }
  };
  /* The slide-deck.js throws an event "nextSlideState" if remainingstates
     attribute is found on the slide. Add listener to the event.
   */
  document.addEventListener("nextSlideState", nextState);
</script>

<!--[if IE]>
  <script src="http://ajax.googleapis.com/ajax/libs/chrome-frame/1/CFInstall.min.js"></script>
  <script>CFInstall.check({mode: 'overlay'});</script>
<![endif]-->
</body>
</html>
